﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;

namespace PSZT
{
    public partial class NowyPredykatDialog : Form
    {
        InformacjePredykatu info = new InformacjePredykatu();

        public InformacjePredykatu InformacjePredykatu
        {
            get
            {
                return info;
            }
        }

        public NowyPredykatDialog()
        {
            InitializeComponent();
            textBox1.Validated += new EventHandler(textBox1_Validated);
            textBox2.Validated += new EventHandler(textBox2_Validated);
        }

        void textBox1_Validated(object sender, EventArgs e)
        {
            string nazwaTemp = textBox1.Text.Trim();
            if (nazwaTemp.Length > 0)
            {
                info.Nazwa = nazwaTemp;
            }
        }

        void textBox2_Validated(object sender, EventArgs e)
        {
            string iloscArgTemp = textBox2.Text.Trim();
            if (iloscArgTemp.Length > 0)
            {
                info.LiczbaArgumentow = iloscArgTemp;
            }

        }



        private void button1_Click(object sender, EventArgs e)
        {
            if (info.Nazwa.Length == 0)
            {
                MessageBox.Show("Nie podano nazwy predykatu!", "Podaj nazwe", MessageBoxButtons.OK);
                return;
            }

            Regex regex = new Regex(@"^[0-9]*$");
            if (!regex.IsMatch(info.LiczbaArgumentow))
            {
                MessageBox.Show("Błąd w liczbie argumentów predykatu!", "Podaj poprawną liczbę", MessageBoxButtons.OK);
                return;
            }
            this.DialogResult = System.Windows.Forms.DialogResult.OK;
            this.Hide();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
            this.Hide();
        }
    }
}
